package com.bianmaba.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则表达式工具类
 * 
 * @author cWX183898
 * 
 */
public final class RegexUtils
{
    private RegexUtils()
    {
    }

    /**
     * 查找字符串中所有匹配正则规则的字符串列表
     * 
     * @param src
     *            源字符串
     * @param regx
     *            正则表达式
     * @return 字符串列表
     */
    public static List<String> findAll(String src, String regx)
    {
        List<String> results = new ArrayList<String>(0);
        Pattern ptr = Pattern.compile(regx);
        Matcher mt = ptr.matcher(src);
        boolean finded = mt.find();
        while (finded)
        {
            String resultStr = mt.group();
            results.add(resultStr);
            finded = mt.find();
        }
        return results;
    }

    /**
     * 查找字符串中第一条匹配正则规则的字符串
     * 
     * @param src
     *            源字符串
     * @param regx
     *            正则表达式
     * @return 字符串
     */
    public static String findFirst(String src, String regx)
    {
        Pattern ptr = Pattern.compile(regx);
        Matcher mt = ptr.matcher(src);
        boolean finded = mt.find();
        if (finded)
        {
            String resultStr = mt.group();
            return resultStr;
        }
        return null;
    }
}
